package com.csap.framework.apidoc.model;

import com.csap.framework.annotation.apidoc.ApiModel;
import com.csap.framework.apidoc.properties.CsapApiInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * @author yangchengfu
 * @description 文档接口返回参数
 * @dataTime 2019年-12月-29日 15:31:00
 **/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "文档返回信息")
@Accessors(chain = true)
public class CsapDocResponse {
    /**
     * api的基本信息，用户自定义
     */
    private CsapApiInfo apiInfo;
    /**
     * 文档资源
     */
    private List<CsapDocResource> resources;
    /**
     * 当前项目所有的api
     */
    private List<CsapDocModelController> apiList;
    /**
     * 所有枚举
     */
    private List<CsapDocEnum> docEnumList;
    /**
     * 全局的api
     */
    private List<CsapDocModelController> globalApiList;

    /**
     * 全局请求参数
     */
    private List<CsapDocModel> globalRequestParam;

    /**
     * 所有 API分组
     */
    private Set<String> groups = new HashSet<>(Arrays.asList("default"));

    /**
     * 所有 API版本
     */
    private Set<String> versions = new HashSet<>(Arrays.asList("default"));

}
